package com.coolcard.framework.exception;

import lombok.Getter;

/**
 * 自定义异常类
 */
@Getter
public class CustomException extends RuntimeException {
    /**
     * 每类自定义异常应设置一个自定义的错误码
     * - 放入 ErrorCode 枚举中，用于区分不同的异常
     */
    private final ErrorCode errorCode;

    /**
     * 默认的错误码为服务器异常 5001
     */
    public CustomException(String message) {
        this(ErrorCode.SERVER_EXCEPTION, message);
    }

    public CustomException(ErrorCode errorCode, String message) {
        super(message);
        this.errorCode = errorCode;
    }

    public CustomException(ErrorCode errorCode) {
        this(errorCode, errorCode.getTitle());
    }
}
